/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.lardocelar.core;

import br.com.lardocelar.core.acaocaptador.LigarTomada;
import br.com.lardocelar.core.comando.FazerConta;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author LeandroL
 */
public final class ComandoFactory {
    private static ComandoFactory comandoFactory;
    private Map<String[], Comando> mapaComando;
    
    private ComandoFactory()
    {
        mapaComando = new HashMap<>();
        FazerConta fazerConta = new FazerConta();
        mapaComando.put(fazerConta.getComando(), fazerConta);
    }
    
    public static Comando buildComando(String[] comando){
        if(comandoFactory == null) {
            comandoFactory = new ComandoFactory();    
        }
        //TODO: Avaliar pq não funfa
        //return comandoFactory.mapaComando.get(comando);
        for (Map.Entry<String[], Comando> entry : comandoFactory.mapaComando.entrySet())
        {
            if(entry.getKey()[0].equalsIgnoreCase(comando[0]) && 
                    entry.getKey()[1].equalsIgnoreCase(comando[1]))
                return entry.getValue();
        }
        
        return null;
    }
}